Skip to content

fix: validate Extra map keys don't collide with reserved cloud-init keys#43

Merged
mrhillsman merged 1 commit into
mainfrom
fix/validate-cloudinit-extra-key-collisions
May 21, 2026
Merged

fix: validate Extra map keys don't collide with reserved cloud-init keys#43
mrhillsman merged 1 commit into
mainfrom
fix/validate-cloudinit-extra-key-collisions

Conversation

@mrhillsman

Copy link
Copy Markdown
Contributor

Add validation in BuildCloudConfig to detect when opts.Extra contains keys that would overwrite reserved cloud-config keys (packages, write_files, runcmd, users, ssh_pwauth). Return error with ErrReservedKey to prevent silent configuration corruption.

Changes:

  • Add ErrReservedKey error for collision detection
  • Validate Extra keys before maps.Copy merge
  • Add 7 test cases covering all reserved keys plus valid scenarios
  • Error message identifies the colliding key name

Fixes #7

@exe-prow-github-app exe-prow-github-app Bot requested review from jomkz and madorn May 20, 2026 06:02
@exe-prow-github-app

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mrhillsman

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@exe-prow-github-app exe-prow-github-app Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 20, 2026
Add validation in BuildCloudConfig to detect when opts.Extra contains
keys that would overwrite reserved cloud-config keys (packages,
write_files, runcmd, users, ssh_pwauth). Return error with ErrReservedKey
to prevent silent configuration corruption.

Changes:
- Add ErrReservedKey error for collision detection
- Validate Extra keys before maps.Copy merge
- Add 7 test cases covering all reserved keys plus valid scenarios
- Error message identifies the colliding key name

Fixes #7

Signed-off-by: Melvin Hillsman <mhillsma@redhat.com>
@mrhillsman mrhillsman force-pushed the fix/validate-cloudinit-extra-key-collisions branch from 161556d to 49c52da Compare May 21, 2026 18:14
@mrhillsman mrhillsman merged commit 8cd9f51 into main May 21, 2026
3 of 4 checks passed
@mrhillsman mrhillsman deleted the fix/validate-cloudinit-extra-key-collisions branch May 22, 2026 06:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: No cloud-init Extra map key collision validation

1 participant